<template>
	<view class="u-notice-bar" :style="{
			background: computeBgColor,
			padding: padding
		}" :class="[
			type ? `u-type-${type}-light-bg` : ''
		]">
		<image class="u-left-icon" v-if="leftIcon" src="@/static/images/home/heart.png" mode=""></image>
		<swiper :disable-touch="disableTouch" @change="change" :autoplay="autoplay && playState == 'play'" :vertical="vertical"
		 circular :interval="duration" class="u-swiper">
			<swiper-item v-for="(item, index) in list" :key="index" class="u-swiper-item">
				<text class="text" :style="[textStyle]">
					{{getContent(item)}}
					<text class="text_red">{{item.cost}}朵玫瑰花</text>
				</text>
				<image class="heart" src="@/static/images/home/flower.png" mode=""></image>
			</swiper-item>
		</swiper>
		<view class="u-icon-wrap">
		</view>
	</view>
</template>

<script>
	export default {
		props: {
			// 显示的内容，数组
			list: {
				type: Array,
				default () {
					return [];
				}
			},
			// 显示的主题，success|error|primary|info|warning
			type: {
				type: String,
				default: 'warning'
			},
			// 是否显示左侧的图标
			leftIcon: {
				type: Boolean,
				default: true
			},
			/// 详情方式
			isDetail: {
				type: Boolean,
				default: false
			},
			// 字体大小，单位rpx
			fontSize: {
				type: [Number, String],
				default: 26
			},
			// 是否自动播放
			autoplay: {
				type: Boolean,
				default: true
			},
			// 文字颜色，各图标也会使用文字颜色
			color: {
				type: String,
				default: ''
			},
			// 背景颜色
			bgColor: {
				type: String,
				default: ''
			},
			// 滚动方向，row-水平滚动，column-垂直滚动
			direction: {
				type: String,
				default: 'row'
			},
			// 是否显示
			show: {
				type: Boolean,
				default: true
			},
			// 滚动一个周期的时间长，单位ms
			duration: {
				type: [Number, String],
				default: 2000
			},
			// 水平滚动时的滚动速度，即每秒滚动多少rpx，这有利于控制文字无论多少时，都能有一个恒定的速度
			speed: {
				type: Number,
				default: 160
			},
			// 水平滚动时，是否采用衔接形式滚动
			isCircular: {
				type: Boolean,
				default: true
			},
			// 滚动方向，horizontal-水平滚动，vertical-垂直滚动
			mode: {
				type: String,
				default: 'vertical'
			},
			// 播放状态，play-播放，paused-暂停
			playState: {
				type: String,
				default: 'play'
			},
			// 是否禁止用手滑动切换
			// 目前HX2.6.11，只支持App 2.5.5+、H5 2.5.5+、支付宝小程序、字节跳动小程序
			disableTouch: {
				type: Boolean,
				default: true
			},
			// 通知的边距
			padding: {
				type: [Number, String],
				default: '18rpx 24rpx'
			}
		},
		computed: {
			// 垂直或者水平滚动
			vertical() {
				if (this.mode == 'horizontal') return false;
				else return true;
			},
			// 计算背景颜色
			computeBgColor() {
				if (this.bgColor) return this.bgColor;
				else if (this.type == 'none') return 'transparent';
			},
			textStyle() {
				let style = {};
				if (this.color) style.color = this.color;
				else if(this.type == 'none') style.color = '#606266';
				style.fontSize = this.fontSize + 'rpx';
				return style;
			},
			
		},
		data() {
			return {
				// animation: false
			};
		},
		methods: {
			getContent(item){
				if (this.isDetail) {
					return  (item.from_user_name || "匿名")+ "送出"
				} else {
					return  (item.from_user_name || "匿名")+ "给@" + (item.to_user_name || "匿名")
				}
				
			},
			// 点击通告栏
			click(index) {
				this.$emit('click', index);
			},
			
			// 点击关闭按钮
			close() {
				this.$emit('close');
			},
			// 点击更多箭头按钮
			getMore() {
				this.$emit('getMore');
			},
			change(e) {
				let index = e.detail.current;
				if (index == this.list.length - 1) {
					this.$emit('end');
				}
			}
		}
	};
</script>

<style lang="scss" scoped>
	.u-notice-bar {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: nowrap;
		padding: 18rpx 24rpx;
		overflow: hidden;
	}

	.u-swiper {
		font-size: 26rpx;
		height: 32rpx;
		display: flex;
		align-items: center;
		flex: 1;
	}

	.u-swiper-item {
		display: flex;
		align-items: center;
		
		.heart {
			width: 30rpx;
			height: 30rpx;
		}

		.text {
			font-size: 26rpx;
			color: #8389a0;
			line-height: 36rpx;
			// margin: 0 10rpx;
			text-overflow: -o-ellipsis-lastline;
			overflow: hidden;
			text-overflow: ellipsis;
			display: -webkit-box;
			-webkit-line-clamp: 1;
			line-clamp: 1;
			-webkit-box-orient: vertical;
		}

		.text_red {
			color: #ff5998;
		}
	}

	// .u-swiper-item {
	// 	display: flex;
	// 	align-items: center;
	// 	overflow: hidden;
	// }

	.u-news-item {
		overflow: hidden;
	}

	.u-right-icon {
		margin-left: 12rpx;
		display: inline-flex;
		align-items: center;
	}

	.u-left-icon {
		display: inline-flex;
		align-items: center;
		width: 32rpx;
		height: 32rpx;
		margin-right: 10rpx;
	}
</style>
